#ifndef __SALT_OBJECTCONTAINER_H
#define __SALT_OBJECTCONTAINER_H
#include "SALT_Config.h"

#include <vector>

#include "SALT_Graphics.h"
#include "SALT_DrawableEventObject.h"

namespace SALT{
	namespace Objects{
		class DrawableContainer:public DrawableObject{
		protected:
			std::vector<DrawableObject*>	_children;
		public:
			DrawableContainer();
			~DrawableContainer();
			DrawableObject*			addObject(DrawableObject* obj);
			DrawableObject*			removeObject(DrawableObject* obj);
			int						update();
			int						draw(Graphics::SDLGraphicsManager* gm);
		};
		class EventContainer:public EventObject{
		protected:
			std::vector<EventObject*>		_children;
		public:
			EventContainer();
			~EventContainer();
			EventObject*			addObject(EventObject* obj);
			EventObject*			removeObject(EventObject* obj);
			int						handleEvent(SDL_Event* ev);
		};
	}
}

#endif